[全服举报]ReportGlobal

ReportGlobal是一个功能全面的Minecraft服务器举报插件,提供玩家举报系统、管理员操作广播、数据记录等功能。

适用核心 Spigot /Paper 适用版本 1.8-1.21 是否付费 否 最新版本 v1.0.0

目录概要

1. 基础

插件概述

ReportGlobal 插件详细文档

ReportGlobal 是一个功能全面的 Minecraft 服务器插件,主要提供以下功能:

主要特性

  1. 玩家举报系统 - 允许玩家举报违规行为,并提供管理员处理界面
  2. 管理员操作广播 - 自动广播管理员的封禁和踢出操作
  3. 数据记录 - 将所有举报和管理员操作记录到数据库中,便于后续查询和分析
  4. 跨服务器支持 - 支持BungeeCord网络,实现跨服务器举报
  5. 权限管理 - 完整的权限节点系统,支持豁免特定玩家
  6. 冷却机制 - 防止恶意刷屏的举报冷却时间

功能特性

功能特性

举报系统

  • 玩家举报 - 玩家可以通过 /report 命令举报违规玩家
  • 冷却机制 - 举报有冷却时间限制,防止恶意刷屏
  • 长度限制 - 举报原因有长度限制,确保举报内容的有效性
  • TAB补全 - 提供常用举报原因建议
  • 豁免机制 - 具有特定权限的玩家不能被举报

管理员功能

  • 举报处理 - 管理员可以查看待处理举报列表并进行处理
  • 历史查询 - 管理员可以查看玩家的举报历史记录
  • 状态管理 - 支持多种举报状态(待处理、处理中、已解决、已拒绝)
  • 备注系统 - 管理员可以为处理结果添加备注

数据管理

  • 数据持久化 - 所有举报和管理员操作都保存在数据库中
  • 历史记录 - 支持查询历史记录和生成报告
  • 连接池 - 使用 HikariCP 连接池提高数据库性能
  • 自动广播 - 自动检测并广播管理员的 ban 和 ban-ip 命令

权限节点

权限节点

权限节点 描述 默认分配
reportglobal.admin 允许使用管理命令 OP
reportglobal.report 允许举报其他玩家 所有玩家
reportglobal.exempt 豁免被举报 OP

权限说明

  • 管理员权限 - 拥有所有管理功能,包括处理举报、查看历史等
  • 举报权限 - 允许玩家使用举报功能
  • 豁免权限 - 拥有此权限的玩家不能被其他玩家举报

指令说明

指令说明

玩家指令

/report - 举报玩家

  • 权限: reportglobal.report(默认所有玩家拥有)
  • 用法: /report <玩家名> <原因>
  • 功能: 举报指定玩家的违规行为
  • 说明:
    • 玩家不能举报自己
    • 具有reportglobal.exempt权限的玩家不能被举报
    • 举报有冷却时间限制(默认300秒)
    • 举报原因有长度限制(默认最少10字符,最多200字符)

/reportglobal - 管理指令

  • 权限: reportglobal.admin(默认OP拥有)
  • 用法: /reportglobal reload
  • 功能: 重新加载插件配置文件

管理员指令

/reportadmin - 举报管理

  • 权限: reportglobal.admin(默认OP拥有)
  • 用法:
    • /reportadmin list - 列出待处理的举报
    • /reportadmin view <ID> - 查看举报详情
    • /reportadmin handle <ID> <RESOLVED|REJECTED> [处理备注] - 处理举报
    • /reportadmin history <玩家名> - 查看玩家的举报历史
    • /reportadmin help - 显示帮助信息

2. 配置

配置文件

配置文件 (config.yml)

# ReportGlobal 配置文件

# 服务器标识(用于区分不同服务器的举报)
server-name: "server1"

# 数据库配置
database:
  host: localhost
  port: 3306
  database: minecraft
  username: root
  password: password
  # 连接池配置
  pool:
    maximumPoolSize: 10
    minimumIdle: 5
    maxLifetime: 1800000  # 30分钟
    connectionTimeout: 5000  # 5秒
    idleTimeout: 600000  # 10分钟

# 消息配置
messages:
  # 管理操作消息
  # 可用变量:%admin%, %player%
  ban: "&c管理员 &e%admin% &c封禁了玩家 &e%player%"
  kick: "&c管理员 &e%admin% &c踢出了玩家 &e%player%"
  
  # 举报相关消息
  # 可用变量:%reporter%, %player%, %reason%
  report-sent: "&a你的举报已提交!管理员会尽快处理。"
  report-received: "&e[举报] &c%reporter% &e举报了 &c%player% &e原因: &c%reason%"
  report-cooldown: "&c你需要等待 %time% 秒才能再次举报。"
  report-self: "&c你不能举报自己!"
  report-handled: "&a举报已被管理员 &e%admin% &a处理。状态: &e%status%"

# 举报设置
report:
  # 举报冷却时间(秒)
  cooldown: 300
  # 最短举报原因长度
  min-reason-length: 10
  # 最长举报原因长度
  max-reason-length: 200
  # TAB补全的常用举报原因
  reasons:
    - "使用作弊客户端"
    - "恶意击杀"
    - "辱骂/骚扰"
    - "破坏他人建筑"
    - "刷屏/垃圾信息"
    - "广告/宣传"
    - "不当言论"
    - "其他违规行为"

# 调试模式(开启后会输出更多日志信息)
debug: false

配置说明

  • 服务器标识 - 用于区分不同服务器的举报
  • 数据库配置 - 设置MySQL数据库连接信息和连接池参数
  • 消息配置 - 自定义各种操作的消息格式
  • 举报设置 - 控制举报的冷却时间、长度限制和常用原因

数据库结构

数据库结构

插件使用 MySQL 数据库存储数据,会自动创建以下两个表:

admin_actions 表(管理员操作记录)

字段名 类型 描述
id INT (主键, 自增) 记录ID
action_type VARCHAR(10) 操作类型 (BAN/KICK)
admin_name VARCHAR(36) 管理员名称
target_player VARCHAR(36) 目标玩家名称
action_time TIMESTAMP 操作时间

reports 表(玩家举报记录)

字段名 类型 描述
id INT (主键, 自增) 举报ID
reporter_name VARCHAR(36) 举报者名称
target_player VARCHAR(36) 被举报者名称
reason TEXT 举报原因
server_name VARCHAR(50) 服务器名称
report_time TIMESTAMP 举报时间
status VARCHAR(20) 举报状态 (PENDING/PROCESSING/RESOLVED/REJECTED)
handler_name VARCHAR(36) 处理者名称
handle_time TIMESTAMP 处理时间
handle_comment TEXT 处理备注

数据库关系

  • admin_actions 表存储管理员的操作记录
  • reports 表存储玩家的举报记录
  • 两个表都包含时间戳,便于查询和分析
  • 支持按服务器、时间、状态等条件进行查询

PlaceholderAPI 变量

PlaceholderAPI 变量

插件目前暂未实现PlaceholderAPI变量,但未来可以扩展支持以下变量:

变量 描述 示例
%reportglobal_pending_reports% 待处理举报数量 5
%reportglobal_total_reports% 总举报数量 25
%reportglobal_player_reports% 玩家被举报次数 3

使用示例

# 在计分板中使用
scoreboard:
  - '&c待处理举报: &f%reportglobal_pending_reports%'
  - '&c总举报数: &f%reportglobal_total_reports%'

安装要求

  • 需要安装 PlaceholderAPI 插件
  • 确保插件版本兼容性
  • 重启服务器使变量生效

3. 安装使用

安装步骤

安装步骤

1. 下载插件

  • 从官方渠道下载最新版本的 ReportGlobal 插件
  • 确保下载的版本与服务器版本兼容

2. 安装依赖

确保服务器已安装以下依赖:

  • MySQL - 数据库支持
  • BungeeCord - 跨服功能支持(可选)

3. 配置数据库

  1. 创建 MySQL 数据库
  2. 配置数据库连接信息
  3. 插件会自动创建所需的数据表

4. 配置文件设置

  1. 启动服务器生成配置文件
  2. 修改 config.yml 中的数据库设置
  3. 根据需要调整举报系统参数

5. 重启服务器

重启服务器使配置生效,插件开始工作。

使用方法

使用方法

玩家举报

  1. 举报玩家

    /report <玩家名> <原因>
    

    示例:/report Steve 使用作弊客户端

  2. 查看举报状态

    • 举报提交后会收到确认消息
    • 管理员处理后会收到通知

管理员操作

  1. 查看待处理举报

    /reportadmin list
    
  2. 查看举报详情

    /reportadmin view <举报ID>
    
  3. 处理举报

    /reportadmin handle <举报ID> <RESOLVED|REJECTED> [备注]
    

    示例:/reportadmin handle 123 RESOLVED 已封禁该玩家

  4. 查看玩家举报历史

    /reportadmin history <玩家名>
    

管理功能

  1. 重新加载配置

    /reportglobal reload
    
  2. 查看帮助信息

    /reportadmin help
    

故障排除

故障排除

常见问题

Q: 插件无法连接数据库

A: 检查以下设置:

  • 数据库服务器是否运行
  • 数据库连接信息是否正确
  • 数据库用户权限是否足够
  • 防火墙是否阻止连接

Q: 举报功能不工作

A: 确保:

  • 玩家有举报权限 (reportglobal.report)
  • 举报冷却时间已过
  • 举报原因长度符合要求
  • 目标玩家不在豁免列表中

Q: 管理员命令无法使用

A: 检查:

  • 是否有管理员权限 (reportglobal.admin)
  • 命令语法是否正确
  • 举报ID是否存在
  • 重启服务器使权限生效

Q: 广播消息不显示

A: 确保:

  • 消息配置正确
  • 变量格式正确
  • 权限设置正确
  • 检查控制台错误信息

日志查看

插件会在控制台输出详细的日志信息,包括:

  • 数据库连接状态
  • 举报提交记录
  • 管理员操作记录
  • 错误信息

性能优化

  • 定期清理过期的举报记录
  • 优化数据库查询
  • 合理设置连接池参数
  • 监控插件性能指标

4. 注意事项

重要提醒

注意事项

1. 数据库要求

  • 插件需要 MySQL 数据库支持
  • 请确保正确配置数据库连接信息
  • 建议定期备份数据库以防止数据丢失
  • 确保数据库用户有足够的权限

2. 权限管理

  • 仔细配置权限节点
  • 定期检查权限设置
  • 避免权限冲突
  • 测试权限功能

3. 性能考虑

  • 大量举报可能影响性能
  • 建议合理设置冷却时间
  • 定期清理无用数据
  • 监控服务器资源使用情况

4. 安全建议

  • 定期更新插件版本
  • 使用强密码保护数据库
  • 限制数据库用户权限
  • 监控异常活动

5. 兼容性

  • 确保与其他插件的兼容性
  • 测试不同版本的 Minecraft 服务器
  • 备份重要数据
  • 在测试环境中先验证功能

6. 维护建议

  • 定期检查插件更新
  • 监控数据库性能
  • 清理无用的数据
  • 优化配置文件设置

7. 跨服务器功能

  • 如需使用跨服务器功能,需要在 BungeeCord 网络中正确配置
  • 所有子服务器都需要安装插件
  • 确保服务器间通信正常
  • 配置正确的权限节点

8. 数据备份

  • 定期备份举报和管理员操作数据
  • 建立数据恢复机制
  • 监控数据完整性
  • 保护玩家隐私信息

这个插件为 Minecraft 服务器提供了完整的举报管理系统,让玩家能够及时举报违规行为,管理员能够高效处理举报,维护良好的游戏环境。